
#include "publisher_manager.hpp"
#include "config_spaces.hpp"

namespace fasys{

publisher_manager::~publisher_manager()
{
  delete _spaces;
}

publisher_manager::publisher_manager()
  : _spaces(new config_spaces)
{
}

void publisher_manager::publish(message& m)
{
  if ( channel_space cs = _spaces->find(m.channel) )
  {
    // TODO: проверить параметры с channel_space, и изменить значения аттрибутов message
    if ( cs.subject )
      cs.subject->publish(m);
  }
}

void publisher_manager::add_space(const channel_space& cs)
{
  _spaces->add(cs);
}


}